home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
System Booster
/
System Booster.iso
/
Archives
/
ForCLI
/
Empty.lha
/
Empty.mod
< prev
next >
Wrap
Text File
|
1993-02-02
|
4KB
|
97 lines
MODULE Empty;
(* Empty.mod - CLI-Befehl, der überprüft ob die als Argument angegeben
* Datei leer ist (die Länge 0) hat.
* Version : 1.1 (2. Februar 1993)
* Compiler : M2Amiga V4.107d
* m2c -zyned Empty.mod
* m2l -cdr Empty.obj
* Autor : Fin Schuppenhauer, Braußpark 10, W-2000 Hamburg 26
* (ab 1. Juli 1993: Fin S., Braußpark 10, D-20537 Hamburg)
* Copyright : © 1993 by Fin Schuppenhauer
* Diese Programm darf nur zusammen mit den Dateien
* Empty.mod, Empty.dok, Empty.readme und Empty auf
* elektronischem Wege (auch gepackt) oder auf Public
* Domain-Disk vertrieben werden. Eine kommerzielle
* Verbreitung ist ohne Genehmigung des Autors untersagt.
* Dieses Programm darf beliebig verändert werden, vor-
* ausgesetzt das Copyright bleibt erhalten. Für die
* daraus resultierenden Dateien gilt gleiches.
* Sonstiges : Fehlerberichte, Wünsche, Kritik, Geschenke, Mitleids-
* bekundungen und ähnliches dürfen an obige Adresse
* geschickt werden. Drohungen, Brief- und Paketbomben
* und ähnliche psychisch-physisch schädigende Mitteil-
* ungen bitte an: meinen derzeitigen Feind (der Name
* von ihm/ihr ist an Deiner Haustür zu finden, die
* Adresse im Telefonbuch.
* Syntax : siehe Empty.dok
* Geschichte: 1.0 (01-Feb-93) Erste, sofort funktionsfähige Version
* unter Verwendung des FileSystem-Modul. (niemals
* veröffentlicht)
* 1.1 (02-Feb-93) FileSystem durch DosD/L ersetzt.
* Fehlerroutinen eingebaut.
*)
IMPORT dd:DosD, dl:DosL;
FROM Arguments IMPORT NumArgs, GetArg;
FROM Arts IMPORT returnVal, Terminate;
FROM String IMPORT Length;
FROM SYSTEM IMPORT ADR;
(*$ CopyDyn := FALSE *)
PROCEDURE Exit (msg : ARRAY OF CHAR);
VAR output : dd.FileHandlePtr;
err : LONGINT;
BEGIN
output := dl.Output();
(*$ StackParms:=TRUE *)
err := dl.Write(output, ADR(msg), Length(msg));
(*$ POP StackParms *)
Terminate();
END Exit;
PROCEDURE ShowTemplate;
BEGIN
Exit ("EMPTY FILE/A\n");
END ShowTemplate;
TYPE String=ARRAY [0..79] OF CHAR;
VAR version :=String{"$VER: empty 1.1 (2.2.93) © 1993 by Fin Schuppenhauer, PUBLIC DOMAIN"};
VAR args, (* Anzahl der Argumente *)
len : INTEGER; (* für GetArtg() *)
file : dd.FileLockPtr; (* Lock auf Datei *)
fileInfo : dd.FileInfoBlock; (* Infos über <file> *)
filename : ARRAY [0..255] OF CHAR; (* Name der Datei (Argument) *)
BEGIN
returnVal := dd.ok;
args := NumArgs();
IF args=1 THEN
GetArg (1, filename, len);
IF filename[0]="?" THEN
ShowTemplate;
Exit ("Ok.\n");
END;
file := dl.Lock(ADR(filename), dd.readOnly);
IF dl.IoErr()#0 THEN Exit("File not found (or other IO-Error).\n"); END;
IF dl.Examine(file, ADR(fileInfo)) THEN
IF fileInfo.size=0 THEN returnVal := dd.warn; END;
ELSE
Exit ("Examine-Error.\n");
END;
dl.UnLock (file);
ELSE
Exit ("Bad args.\n");
END;
(* fs.Lookup (file, filename, 1024, FALSE);
IF file.res=fs.done THEN
fs.Length(file, length);
IF length=0 THEN
returnVal := dd.warn;
END;
END;
END;*)
END Empty.